﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using Ninject;
using PGE.AfastamentosTempMVC.Modelo;
using PGE.AfastamentosTempMVC.Servico.Interfaces;
using PGE.AfastamentosTempMVC.Repositorio.Interfaces;

namespace PGE.AfastamentosTempMVC.Servico.Implementacao
{
    public class SetorServico : ISetorServico
    {
        [Inject]
        public ISetorRepositorio SetorRepositorio { get; set; }

        #region ISetorServico Members

        void ISetorServico.Adicionar(Setor setor)
        {
            SetorRepositorio.Adicionar(setor);
        }

        void ISetorServico.Editar(Setor setor)
        {
            SetorRepositorio.Editar(setor);
        }

        void ISetorServico.Deletar(Setor setor)
        {
            SetorRepositorio.Deletar(setor);
        }

        void ISetorServico.DeletarMuitos(Func<Setor, bool> where)
        {
            SetorRepositorio.DeletarMuitos(where);
        }

        Setor ISetorServico.ObterPorID(int Id)
        {
            return SetorRepositorio.ObterPorID(Id);
        }

        Setor ISetorServico.ObterPornome(Func<Setor, bool> where)
        {
            return SetorRepositorio.ObterPornome(where);
        }

        Setor ISetorServico.ObterPrimeiro()
        {
            return SetorRepositorio.ObterPrimeiro();
        }

        Setor ISetorServico.ObterPrimeiro(Func<Setor, bool> where)
        {
            return SetorRepositorio.ObterPrimeiro(where);
        }

        IEnumerable<Setor> ISetorServico.ListarTudo()
        {
            return SetorRepositorio.ListarTudo();
        }

        IQueryable<Setor> ISetorServico.GetQueryable()
        {
            return SetorRepositorio.GetQueryable();
        }

        IEnumerable<Setor> ISetorServico.ListarMuitos(Func<Setor, bool> where)
        {
            return SetorRepositorio.ListarMuitos(where);
        }

        #endregion
    }
}
